#ifndef __FUNCTION_H__
#define __FUNCTION_H__
#include<iostream>
#include"stdTcpServer.h"
#include"stdShared.h"
#include"sqliteDataBase.h"
class Function
{
public:
    Function(const stdTcpSocketPtr& clientInfo);
    ~Function();
private:
    //判断用户名是否注册
    bool userIsExist(const char* username);
    //如果用户名存在，判断用户名和密码是否匹配
    bool userIsMatchPasswd(const char *username, const char *passwd);
    //判断用户是否已经登录
    bool userIsOnlined(const char *username);

public:
    //处理注册
    void handleRegisterInfo(const Msg &msg);
    //处理登录
    void handleLoginInfo(const Msg &msg);
    //添加好友
    void handlAddFriendInfo(const Msg &msg);
    //删除好友
    void handlDelFriendInfo(const Msg &msg);
    //好友聊天
    void handlFriendChat(const Msg &msg);
    // 好友列表
    void handlFriendList(const Msg &msg);
    // 创建群聊
    void handlNewGroupInfo(const Msg &msg);
    //退出群聊
    void handlExitGroupInfo(const Msg &msg);
    //加入群聊
    void handlJoinGroup(const Msg &msg);
    //邀请群聊
    void handlInviteGroup(const Msg &msg);
    //群聊聊天
    void handlChatGroup(const Msg &msg);

private:
    stdTcpSocketPtr  m_clientInfo;
    stdsqliteDataBase m_sqliteDB;
};

#endif